1. Field of the Invention
This invention relates to data logging. More particularly, this invention relates to data logging systems that store the logged data on a storage medium using data compression by logging a sequence of data values and the times for which they subsist.
2. Description of the Prior Art
It is known from U.S. Pat. No. 4,616,320 to provide a seismic activity logging system in which seismic data is recorded in compressed form into a long term memory comprising an integrated circuit memory. The seismic data is continuously recorded into a buffer memory. If the seismic signals exceed a preset level, then the contents of the buffer and any further signals are stored in the long term memory until the seismic signal falls below a preset level for a preset period. The data is stored in compressed form by recording a signal value and a rate of change value starting from the signal value together with a time for which the actual signal remains within a preset tolerance of the value that would be predicted by extrapolating from the signal value with the rate of change value. When the tolerance is exceeded, a new point is recorded. This is analogous to runlength coding.
A problem within the data logging field in general and the above described system is that as the degree of compression increases there is an increase in the loss of detail within the data recorded.
Viewed from one aspect the invention provides apparatus for logging to a storage medium input signal values as a sequence of logged values and respective time periods for which said logged values subsist, said apparatus comprising:
(i) a trigger-band comparitor for comparing an input signal value with a trigger-band of signal values to determine whether said input signal value is within said trigger-band following a preceding logged value; and
(ii) signal processing logic coupled to said trigger-band comparitor and responsive to said input signal value being outside of said trigger-band to trigger logging of a new logged value with a new time period and setting of a new value for said trigger-band, wherein:
(iii) said signal processing logic detects from said input signal value between said preceding logged value and said new logged value one or more intermediate points having predetermined characteristics; and
(iv) said signal processing logic additionally logs said intermediate points.
The invention recognises that detail may be preserved without unduly decreasing the compression by seeking to detect one or more intermediate points having predetermined significant characteristics and logging these points.
One example of such a significant characteristic is the point at which the signal was last within an inner-band that is narrower than the trigger-band.
This invention recognises that when gradual changes occur within a signal value, then a loss of detail is not usually significant. Conversely, when a rapid change occurs in a signal value, it is often desirable to store more detailed data representing the change in the signal value as, for example, sudden changes may be the result of faults or unusual conditions which a user will later wish to study in detail. This feature exploits this recognition by logging the last point at which the signal was within an inner-band. When a rapid change occurs, extra detail is stored in that the exit point of the inner band tolerance is logged as well as the point at which the trigger band tolerance is exceeded. This additional intermediate point that is logged allows the sharp change in the input signal value to be reconstructed when the data is later analysed (the sharp corner within a signal trace of the data value is kept by logging this additional point).
Other intermediate points that may be logged are the maximum and/or minimum input signal points that preceded the trigger-band being exceeded. This extra detail allows a better reconstruction of the signal to be later made from the compressed logged data.
It will be appreciated that the data may be stored in many different representations. For example, it would be possible to use a differential coding technique in which changes in signal level were recorded rather than absolute values. However, it has been found advantageous to use embodiments in which said logged value includes an initial signal level value of said input signal value. Logging an absolute value in this way allows increased resistance to data corruption and/or data loss in that the input signal values can be reconstructed even if a break occurs within the logged data stream.
It would be possible to use a compression technique that assumed that the input signal values remained constant other than at the points at which changes within them were logged. However, improved data compression and a better representation of the actual signal values may be recorded in embodiments in which said logged value includes a rate of change value of said input signal value. In such embodiments the assumption is that the signal value is changing at a uniform rate and that only significant deviations from what would be expected are recorded (or the maximum time period of validity for a logged sample value within the data format is exceeded). This has been found to give superior data compression and more accurate reconstruction of real life signals.
When the data compression model includes a rate of change value, then the period of validity of the logged values can be increased and so data compression efficiency increased in embodiments in which said trigger band and said inner band are updated to change in accordance with said rate of change value. In this way, the tolerance bands applied to triggering the recording of new data are extrapolated in the same way as the stored data value.
The construction of the system is simplified in embodiments in which said input signal value is sampled at a predetermined rate.
In order to enable the system to be adapted to different situations it is desirable that the predetermined rate is a user set parameter.
When a fixed sampling rate is used, then the time period logged can be expressed as a number of sample periods. The periodic insertion of a time stamp giving an absolute time value is also useful for reconstruction from the data.
The values logged each time the trigger band tolerance is exceeded could be values representing the signal that had just passed, values giving at least a partial prediction of the signal to come or a mixture of both. However, in preferred embodiments of the invention said new logged value and said new time period represent said input signal value that subsisted from a time corresponding to an immediately preceding logged point to a time corresponding to logging of said new logged value and new time period.
At the time at which the trigger band tolerance is exceeded, the signal value that previously subsisted (comprising a level and a rate of change) together with the number of sampling periods for which that value was valid is determined and so can be logged as one self-contained data unit.
It will be appreciated that it is possible that the inner band could be disposed asymmetrically within the wide band, but in most real life physical situations the best performance is achieved when said inner band is centrally located within said wide band.
In order to facilitate the setting up of the logging system by a user, it is preferred that said inner band has a width that is user set as a percentage of the width of said trigger band.
Various different storage media could be used, such as a solid state integrated circuit memory module (e.g. RAM) or a magnetic tape. However, in preferred embodiments of the invention the storage medium is a computer readable medium Using such a medium (e.g. a computer diskette, ZIP drive, removable hard drive, DAT tape etc) allows the logged information to be readily analysed by a standard PC that already has a mechanism for reading such a medium.
The apparatus may also be formed as a computer linked via a telecommunications link to a sensor. The remote computer then performs the role of the signal processor and comparitors on the received data.
In a similar way as the inner-band has a width that is set as a percentage, the trigger band may be conveniently set up by a user as a percentage of the input signal value.
Viewed from another aspect the present invention provides a method of logging to a storage medium input signal values as a sequence of logged values and respective time periods for which said logged values subsist, said method comprising the steps of:
(i) comparing an input signal value with a trigger band of signal values to determine whether said input signal value is within said trigger-band; and
(ii) in response to said input signal value being outside of said trigger-band, triggering logging of a new logged value with a new time period and setting of a new value for said trigger-band, said method further comprising the step of;
(iii) detecting from said input signal value between said preceding logged value and said new logged value one or more intermediate points having predetermined characteristics; and
(iv) additionally logging said intermediate points.